1 Modèle de base des centrales thermiques¶

1.1 Planification journalière du parc thermique¶

Variables de décision : Pour une type de centrale $X \in [A,B,C]$, et une heure de la journée $t\in {1,\dots,24}$, on définit : $$ N_t^{(X)} = \text{Nombre de centrales } X \text{allumées à } t\text{ h, (ENTIER)} $$ $$ P_t^{(X)} = \text{Puissance totale produite par les centrales } X \text{ à } t\text{ h, (CONTINUE)} $$ Contraintes : $$ N_t^{(X)} P_{min}^{(X)} \leq P_t^{(X)} \leq N_t^{(X)} P_{max}^{(X)} \text{ , Contraintes sur la puissance totale de chaque centrale} $$ $$ 0 \leq N_t^{(X)} \leq N^{(X)} \text{ , Contraintes sur le nombre de centrales allumées possible} $$ $$ \forall t, \sum_X P_t^{(X)} = D_t \text{ , Contrainte équilibre offre-demande} $$ Objectif : $$ \text{Minimiser} \sum_X \sum_T P_t^{(X)} C_{MWh}^{(X)} $$

Set parameter TokenServer to value "dev.cma.mines-paristech.fr"
Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 168 rows, 144 columns and 360 nonzeros
Model fingerprint: 0xf31da896
Variable types: 72 continuous, 72 integer (0 binary)
Coefficient statistics:
  Matrix range     [1e+00, 4e+03]
  Objective range  [1e+00, 3e+00]
  Bounds range     [5e+00, 1e+01]
  RHS range        [2e+04, 4e+04]
Found heuristic solution: objective 1235375.0000
Presolve removed 162 rows and 139 columns
Presolve time: 0.02s
Presolved: 6 rows, 5 columns, 14 nonzeros
Found heuristic solution: objective 881275.00000
Variable types: 2 continuous, 3 integer (0 binary)

Root relaxation: objective 8.694000e+05, 2 iterations, 0.00 seconds (0.00 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 869400.000    0    1 881275.000 869400.000  1.35%     -    0s
H    0     0                    869400.00000 869400.000  0.00%     -    0s
     0     0 869400.000    0    1 869400.000 869400.000  0.00%     -    0s

Explored 1 nodes (2 simplex iterations) in 0.04 seconds (0.00 work units)
Thread count was 8 (of 8 available processors)

Solution count 3: 869400 881275 1.23538e+06 

Optimal solution found (tolerance 1.00e-04)
Best objective 8.694000000000e+05, best bound 8.694000000000e+05, gap 0.0000%
Coût : 869400.0
Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 168 rows, 144 columns and 360 nonzeros
Model fingerprint: 0x635b27b9
Coefficient statistics:
  Matrix range     [1e+00, 4e+03]
  Objective range  [1e+00, 3e+00]
  Bounds range     [5e+00, 1e+01]
  RHS range        [2e+04, 4e+04]
Presolve removed 153 rows and 99 columns
Presolve time: 0.01s
Presolved: 15 rows, 45 columns, 45 nonzeros

Iteration    Objective       Primal Inf.    Dual Inf.      Time
       0    8.5266000e+05   1.743750e+04   0.000000e+00      0s
      15    8.6940000e+05   0.000000e+00   0.000000e+00      0s

Solved in 15 iterations and 0.01 seconds (0.00 work units)
Optimal objective  8.694000000e+05
Coût : 869400.0

2 Coût d'opération¶

2.1 Coût de fonctionnement¶

Pour ce problème on modifie la fonction objectif.
Objectif : $$ \text{Minimiser} \sum_X \sum_T (P_t^{(X)} - P_{min}^{(X)}N_t^{(X)}) C_{MWh}^{(X)} + N_t^{(X)}C_{base}^{(X)} $$

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 168 rows, 144 columns and 360 nonzeros
Model fingerprint: 0x7066cec8
Variable types: 72 continuous, 72 integer (0 binary)
Coefficient statistics:
  Matrix range     [1e+00, 4e+03]
  Objective range  [1e+00, 2e+03]
  Bounds range     [5e+00, 1e+01]
  RHS range        [2e+04, 4e+04]
Found heuristic solution: objective 1271875.0000
Presolve removed 162 rows and 139 columns
Presolve time: 0.02s
Presolved: 6 rows, 5 columns, 14 nonzeros
Found heuristic solution: objective 987500.00000
Variable types: 2 continuous, 3 integer (0 binary)
Found heuristic solution: objective 985950.00000

Root relaxation: objective 9.787500e+05, 2 iterations, 0.00 seconds (0.00 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 978750.000    0    1 985950.000 978750.000  0.73%     -    0s
H    0     0                    978900.00000 978750.000  0.02%     -    0s
     0     0 978750.000    0    1 978900.000 978750.000  0.02%     -    0s

Explored 1 nodes (2 simplex iterations) in 0.04 seconds (0.00 work units)
Thread count was 8 (of 8 available processors)

Solution count 4: 978900 985950 987500 1.27188e+06 

Optimal solution found (tolerance 1.00e-04)
Best objective 9.789000000000e+05, best bound 9.789000000000e+05, gap 0.0000%
Coût : 978900.0

2.2 Coût du démarrage¶

Pour ce problème on modifie les variables de décisions et on y adapte les contraintes.

Variables de décision : Pour une type de centrale $X \in [A,B,C]$, et une heure de la journée $t\in {1,\dots,24}$, on définit : $$ N_t^{(X)} = \text{Nombre de centrales } X \text{allumées à } t\text{ h, (ENTIER)} $$ $$ N_{start,t}^{(X)} = \text{Nombre de centrales } X \text{démarrées à } t\text{ h, (ENTIER)} $$ $$ P_t^{(X)} = \text{Puissance totale produite par les centrales } X \text{ à } t\text{ h, (CONTINUE)} $$ Contraintes (par convention $N_{-1}^{(X)}=0$): $$ N_t^{(X)} P_{min}^{(X)} \leq P_t^{(X)} \leq N_t^{(X)} P_{max}^{(X)} \text{ , Contraintes sur la puissance totale de chaque centrale} $$

  • Si la centrale fonctionne alors elle a été démarée ou elle fonctionne déjà.
$$ N_t^{(X)} \leq N_{start,t}^{(X)}+N_{t-1}^{(X)} \text{ , (2.2.1) Contraintes sur le nombre de centrales allumées possible} $$
  • Le nombre de centrale démarrable est majorée.
$$ N_{start,t}^{(X)} \leq N^{(X)}-N_{t-1}^{(X)} \text{ , (2.2.2) Contraintes sur le nombre de centrales démarrable possible} $$$$ \sum_X P_t^{(X)} = D_t \text{ , Contrainte équilibre offre-demande} $$

Objectif : $$ \text{Minimiser} \sum_X \sum_T (P_t^{(X)} - P_{min}^{(X)}N_t^{(X)}) C_{MWh}^{(X)} + N_t^{(X)}C_{base}^{(X)} + N_{start,t}^{(X)}C_{start}^{(X)} $$

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 312 rows, 216 columns and 714 nonzeros
Model fingerprint: 0xafd71f6e
Variable types: 72 continuous, 144 integer (0 binary)
Coefficient statistics:
  Matrix range     [1e+00, 4e+03]
  Objective range  [1e+00, 2e+03]
  Bounds range     [5e+00, 1e+01]
  RHS range        [5e+00, 4e+04]
Found heuristic solution: objective 1474375.0000
Presolve removed 108 rows and 30 columns
Presolve time: 0.00s
Presolved: 204 rows, 186 columns, 522 nonzeros
Variable types: 42 continuous, 144 integer (0 binary)
Found heuristic solution: objective 1378930.0000

Root relaxation: objective 1.011257e+06, 52 iterations, 0.00 seconds (0.00 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 1011257.14    0   26 1378930.00 1011257.14  26.7%     -    0s
H    0     0                    1019660.0000 1011257.14  0.82%     -    0s
H    0     0                    1018090.0000 1011257.14  0.67%     -    0s
H    0     0                    1016340.0000 1011257.14  0.50%     -    0s
H    0     0                    1016100.0000 1011257.14  0.48%     -    0s
     0     0 1014233.33    0    4 1016100.00 1014233.33  0.18%     -    0s
H    0     0                    1015860.0000 1014233.33  0.16%     -    0s
H    0     0                    1014650.0000 1014233.33  0.04%     -    0s
H    0     0                    1014400.0000 1014233.33  0.02%     -    0s

Cutting planes:
  Gomory: 3
  MIR: 27
  StrongCG: 2

Explored 1 nodes (92 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 8 (of 8 available processors)

Solution count 9: 1.0144e+06 1.01465e+06 1.01586e+06 ... 1.47438e+06

Optimal solution found (tolerance 1.00e-04)
Best objective 1.014400000000e+06, best bound 1.014400000000e+06, gap 0.0000%

3 Réserve de puissance¶

Pour intégrer la réserve de puissance on ajoute la contrainte : $$ \sum_X N_t^{(X)}P_{max}^{(X)}\geq D_t\times 1,15 $$

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 336 rows, 216 columns and 786 nonzeros
Model fingerprint: 0x11b5f8ee
Variable types: 72 continuous, 144 integer (0 binary)
Coefficient statistics:
  Matrix range     [1e+00, 4e+03]
  Objective range  [1e+00, 2e+03]
  Bounds range     [5e+00, 1e+01]
  RHS range        [5e+00, 5e+04]

MIP start from previous solve did not produce a new incumbent solution
MIP start from previous solve violates constraint Réserve_de_puissance_à_15 by 4500.000000000

Found heuristic solution: objective 1316565.0000
Presolve removed 108 rows and 30 columns
Presolve time: 0.00s
Presolved: 228 rows, 186 columns, 594 nonzeros
Found heuristic solution: objective 1229165.0000
Variable types: 42 continuous, 144 integer (0 binary)
Found heuristic solution: objective 1198245.0000

Root relaxation: objective 1.012257e+06, 59 iterations, 0.00 seconds (0.00 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 1012257.14    0   26 1198245.00 1012257.14  15.5%     -    0s
H    0     0                    1020660.0000 1012257.14  0.82%     -    0s
H    0     0                    1017340.0000 1012257.14  0.50%     -    0s
H    0     0                    1017100.0000 1012257.14  0.48%     -    0s
     0     0 1015150.00    0   12 1017100.00 1015150.00  0.19%     -    0s
H    0     0                    1016860.0000 1015150.00  0.17%     -    0s
H    0     0                    1015725.0000 1015150.00  0.06%     -    0s
H    0     0                    1015150.0000 1015150.00  0.00%     -    0s

Cutting planes:
  Gomory: 1
  MIR: 25

Explored 1 nodes (94 simplex iterations) in 0.04 seconds (0.00 work units)
Thread count was 8 (of 8 available processors)

Solution count 9: 1.01515e+06 1.01572e+06 1.01686e+06 ... 1.31657e+06

Optimal solution found (tolerance 1.00e-04)
Best objective 1.015150000000e+06, best bound 1.015150000000e+06, gap 0.0000%

4 Planification cyclique¶

Pour ce problème on modifie la convention $N_{-1}^{(X)}=0$ par $N_{-1}^{(X)}=N_{23}^{(X)}$

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 336 rows, 216 columns and 792 nonzeros
Model fingerprint: 0xfaf92924
Variable types: 72 continuous, 144 integer (0 binary)
Coefficient statistics:
  Matrix range     [1e+00, 4e+03]
  Objective range  [1e+00, 2e+03]
  Bounds range     [5e+00, 1e+01]
  RHS range        [5e+00, 5e+04]
Found heuristic solution: objective 1313700.0000
Presolve removed 105 rows and 27 columns
Presolve time: 0.00s
Presolved: 231 rows, 189 columns, 603 nonzeros
Found heuristic solution: objective 1225165.0000
Variable types: 42 continuous, 147 integer (0 binary)
Found heuristic solution: objective 1192195.0000

Root relaxation: objective 9.855143e+05, 54 iterations, 0.00 seconds (0.00 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 985514.286    0   26 1192195.00 985514.286  17.3%     -    0s
H    0     0                    993725.00000 985514.286  0.83%     -    0s
H    0     0                    990405.00000 985514.286  0.49%     -    0s
H    0     0                    990165.00000 985514.286  0.47%     -    0s
H    0     0                    989030.00000 988540.000  0.05%     -    0s
     0     0 988540.000    0    3 989030.000 988540.000  0.05%     -    0s
H    0     0                    988540.00000 988540.000  0.00%     -    0s
     0     0 988540.000    0    3 988540.000 988540.000  0.00%     -    0s

Cutting planes:
  MIR: 18

Explored 1 nodes (85 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 8 (of 8 available processors)

Solution count 8: 988540 989030 990165 ... 1.3137e+06

Optimal solution found (tolerance 1.00e-04)
Best objective 9.885400000000e+05, best bound 9.885400000000e+05, gap 0.0000%

5 Centrales hydroélectriques¶

5.1¶

On ajoute les variables de décisions suivantes:
pour $Y\in[9,14]$ (pour les centrales de 900 MW et 1400MW),
$$ H_t^{(Y)} \in \{0,1\} \text{ , vaut 1 si la centrale $Y$ fonctionne à } t \text{ h 0 sinon} $$ $$ H_{start,t}^{(Y)} \in \{0,1\} \text{ , vaut 1 si la centrale $Y$ démarre à } t \text{ h 0 sinon} $$ Avec les contraintes : $$ H_{t}^{(Y)} \leq H_{start,t}^{(Y)} + H_{t-1}^{(Y)} \text{, (5.1.1) Si la centrale fonctionne alors elle était allumée ou elle démarre} $$ $$ \sum_X P_t^{(X)} + \sum_Y N_t^{(Y)}P^{(Y)}= D_t \text{, (5.1.2) Contrainte équilibre offre-demande} $$ $$ \sum_X N_t^{(X)}P_{max}^{(X)} + \sum_Y P^{(Y)}\geq D_t\times 1,15 \text{, (5.1.3) marges de sécurité} $$ L'objectif mis à jour devient: $$ \text{Minimiser} \sum_X \sum_t (P_t^{(X)} - P_{min}^{(X)}N_t^{(X)}) C_{MWh}^{(X)} + N_t^{(X)}C_{base}^{(X)} + N_{start,t}^{(X)}C_{start}^{(X)} + \sum_Y \sum_t H_t^{(Y)}C_{base}^{(Y)} + H_t^{(Y)}C_{start}^{(Y)} $$

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 384 rows, 312 columns and 984 nonzeros
Model fingerprint: 0x62d80b5b
Variable types: 72 continuous, 240 integer (96 binary)
Coefficient statistics:
  Matrix range     [1e+00, 4e+03]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+01]
  RHS range        [5e+00, 4e+04]
Found heuristic solution: objective 1326520.0000
Presolve removed 72 rows and 0 columns
Presolve time: 0.00s
Presolved: 312 rows, 312 columns, 840 nonzeros
Variable types: 72 continuous, 240 integer (96 binary)
Found heuristic solution: objective 1308745.0000

Root relaxation: objective 8.884163e+05, 90 iterations, 0.00 seconds (0.00 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 888416.250    0   30 1308745.00 888416.250  32.1%     -    0s
H    0     0                    906941.25000 888416.250  2.04%     -    0s
H    0     0                    893135.00000 888416.250  0.53%     -    0s
H    0     0                    890510.00000 888416.250  0.24%     -    0s
H    0     0                    890260.00000 888474.286  0.20%     -    0s
     0     0 890176.667    0   22 890260.000 890176.667  0.01%     -    0s

Cutting planes:
  Gomory: 2
  MIR: 33

Explored 1 nodes (132 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 8 (of 8 available processors)

Solution count 6: 890260 890510 893135 ... 1.32652e+06

Optimal solution found (tolerance 1.00e-04)
Best objective 8.902600000000e+05, best bound 8.901766666667e+05, gap 0.0094%

5.2¶

On ajoute les variables de décision suivante : $$ S_t = \text{Puissance appelée par le pompage à l'instant }t $$ Puis la contrainte : $$ \sum_tS_t d^{(S)} = \sum_{t,Y} H_t^{(Y)}d^{(Y)} \text{ , L'eau extraite doit être réinjectée sur un cycle d'une journée} $$ Où $d^{(S)}$ représente la hauteur d'eau élevée par MWh et $d^{(Y)}$ la hauteur d'eau prélevée lorsque la centrale $Y$ fonctionne.
On met à jour les contraintes suivante: $$ \sum_X P_t^{(X)} + \sum_Y H_t^{(Y)}P^{(Y)}-S_t= D_t \text{ , Contrainte équilibre offre-demande} $$

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 385 rows, 336 columns and 1080 nonzeros
Model fingerprint: 0x2a90ce11
Variable types: 96 continuous, 240 integer (96 binary)
Coefficient statistics:
  Matrix range     [3e-04, 4e+03]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+01]
  RHS range        [5e+00, 4e+04]
Found heuristic solution: objective 1491600.0000
Presolve removed 72 rows and 0 columns
Presolve time: 0.00s
Presolved: 313 rows, 336 columns, 936 nonzeros
Variable types: 96 continuous, 240 integer (96 binary)
Found heuristic solution: objective 1463225.0000

Root relaxation: objective 9.850143e+05, 145 iterations, 0.00 seconds (0.00 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 985014.286    0   26 1463225.00 985014.286  32.7%     -    0s
H    0     0                    994935.00000 985014.286  1.00%     -    0s
H    0     0                    991890.00000 985014.286  0.69%     -    0s
H    0     0                    990145.00000 985014.286  0.52%     -    0s
     0     0 985814.126    0   48 990145.000 985814.126  0.44%     -    0s
     0     0 985814.126    0   48 990145.000 985814.126  0.44%     -    0s
H    0     0                    988290.00000 985814.126  0.25%     -    0s
H    0     0                    988040.00000 985814.126  0.23%     -    0s
     0     2 985814.126    0   48 988040.000 985814.126  0.23%     -    0s
H    2     4                    988002.00000 986022.114  0.20%   4.0    0s
H    5     8                    986630.00000 986022.114  0.06%   8.8    0s
H   21    13                    986290.00000 986051.521  0.02%   8.0    0s

Cutting planes:
  Gomory: 5
  MIR: 24

Explored 45 nodes (439 simplex iterations) in 0.11 seconds (0.04 work units)
Thread count was 8 (of 8 available processors)

Solution count 10: 986290 986630 988002 ... 1.4916e+06

Optimal solution found (tolerance 1.00e-04)
Best objective 9.862900000000e+05, best bound 9.862900000000e+05, gap 0.0000%

5.3 Paliers de fonctionnement¶

Les variables de décisions concernant l'hydroélectricité deviennent : $$ H_t^{(Y,n)} \in \{0,1\} = \text{La centrale hydroélectrique } Y \text{ fonctionne au palier } n \text{ à l'instant } t $$ $$ H_{start,t}^{(Y)} \in \{0,1\} = \text{ La centrale hydroélectrique $Y$ démarre à l'instant $t$} $$ Les contraintes suivantes sont modifiées :

$$ \text{(5.3.1) Equilibre offre-demande : } \sum_X P_t^{(X)} + \sum_{Y,n} H_t^{(Y,n)}P^{(Y,n)}-S_t= D_t $$$$ \text{(5.3.2) Réserve de puissance : } \sum_X N_t^{(X)}P_{max}^{(X)} + \sum_Y P^{(Y,n_{max})}\geq D_t\times 1,15 $$$$ \text{(5.3.3) Niveau réservoir : } \sum_t S_t d^{(S)} = \sum_{t,Y,n} H_t^{(Y,n)}d^{(Y,n)} $$

Les contraintes sur les démarrages et les paliers deviennent : $$ \text{(5.3.4) Un seul palier fonctionne à la fois , }\sum_n H_t^{(Y,n)} \leq 1 $$ $$ \text{(5.3.5) Si un palier fonctionne alors il y avait déjà un palier actif ou la centrale est démarrée , } H_t^{(Y,n)} \leq \sum_n H_{t-1}^{(Y,n)} + H_{start,t}^{(Y)} $$ Modification de la fonction objectif : $$ \text{Minimiser} \sum_X \sum_t (P_t^{(X)} - P_{min}^{(X)}N_t^{(X)}) C_{MWh}^{(X)} + N_t^{(X)}C_{base}^{(X)} + N_{start,t}^{(X)}C_{start}^{(X)} + \sum_{Y,n} \sum_t H_t^{(Y,n)}C_{base}^{(Y,n)} + \sum_Y H_{start,t}^{(Y)}C_{start}^{(Y)} $$ Où $P^{(Y,n)}$ est la puissance de la centrale $Y$ au palier $n$, $d^{(Y,n)}$ est l'abaissement sur une heure quand la centrale $Y$ fonctionne au palier $n$ et $C_{base}^{(Y,n)}$ est le coût du fonctionnement de la centrale $Y$ pendant une heure de fonctionnement au palier $n$

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 433 rows, 480 columns and 1848 nonzeros
Model fingerprint: 0xd3c4d88d
Variable types: 96 continuous, 384 integer (240 binary)
Coefficient statistics:
  Matrix range     [3e-04, 4e+03]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+01]
  RHS range        [1e+00, 4e+04]
Presolve removed 72 rows and 0 columns
Presolve time: 0.00s
Presolved: 361 rows, 480 columns, 1704 nonzeros
Variable types: 96 continuous, 384 integer (240 binary)
Found heuristic solution: objective 1114770.0000
Found heuristic solution: objective 1086990.0000
Found heuristic solution: objective 1026475.0000

Root relaxation: objective 9.850143e+05, 244 iterations, 0.00 seconds (0.00 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 985014.286    0   26 1026475.00 985014.286  4.04%     -    0s
H    0     0                    994935.00000 985014.286  1.00%     -    0s
H    0     0                    990145.00000 985014.286  0.52%     -    0s
H    0     0                    987635.00000 985677.273  0.20%     -    0s
     0     0 985677.273    0   48 987635.000 985677.273  0.20%     -    0s
H    0     0                    987176.00000 985677.273  0.15%     -    0s
     0     0 985681.649    0   48 987176.000 985681.649  0.15%     -    0s
     0     0 985681.649    0   26 987176.000 985681.649  0.15%     -    0s
     0     0 985681.649    0   48 987176.000 985681.649  0.15%     -    0s
H    0     0                    987076.00000 985681.649  0.14%     -    0s
     0     0 985687.391    0   48 987076.000 985687.391  0.14%     -    0s
H    0     0                    986256.00000 985687.391  0.06%     -    0s
     0     0 985687.391    0   21 986256.000 985687.391  0.06%     -    0s
     0     0 985687.391    0   45 986256.000 985687.391  0.06%     -    0s
     0     0 985687.391    0   41 986256.000 985687.391  0.06%     -    0s
     0     0 985687.391    0   41 986256.000 985687.391  0.06%     -    0s
     0     2 985687.391    0   41 986256.000 985687.391  0.06%     -    0s
H   28     7                    986160.00000 985789.464  0.04%   9.4    0s

Cutting planes:
  Gomory: 2
  MIR: 22

Explored 50 nodes (1170 simplex iterations) in 0.21 seconds (0.07 work units)
Thread count was 8 (of 8 available processors)

Solution count 10: 986160 986256 987076 ... 1.11477e+06

Optimal solution found (tolerance 1.00e-04)
Best objective 9.861600000000e+05, best bound 9.861380000000e+05, gap 0.0022%

5.4 Exclusion pompage et génération hydro¶

On introduit la variable de décision suivante : $$ N^{S}_t \in \{0,1\} = \text{La pompage est en fonctionnement} $$ On ajoute les contraintes suivante : $$ \text{(5.4.1) Si une centrale hydroélectrique est activée alors le pompage est désactivé , } \frac{1}{\text{Nb centrale hydro}}\sum_{Y,n}H_t^{(Y,n)} \leq 1 - N_t^{(S)} $$ Il est peut être plus optimal de formuler (5.4.1) de cette manière: $$ H_t^{(Y,n)} \leq 1 - N_t^{(S)} $$ $$ \text{(5.4.2) Si le pompage est allumé alors il peut y avoir du pompage , } S_t \leq M \times N_t^{(S)} $$ Où $M$ est une quantité égal à l'ensemble de la capacité installé du parc (borne sup de la valeur que peut prendre $S_t$)

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 481 rows, 504 columns and 2112 nonzeros
Model fingerprint: 0x9e89f7d2
Variable types: 96 continuous, 408 integer (264 binary)
Coefficient statistics:
  Matrix range     [3e-04, 6e+04]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+01]
  RHS range        [1e+00, 4e+04]
Presolve removed 96 rows and 0 columns
Presolve time: 0.01s
Presolved: 385 rows, 504 columns, 1800 nonzeros
Variable types: 96 continuous, 408 integer (264 binary)
Found heuristic solution: objective 1155935.0000
Found heuristic solution: objective 1086990.0000
Found heuristic solution: objective 1029100.0000

Root relaxation: objective 9.850143e+05, 210 iterations, 0.00 seconds (0.00 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 985014.286    0   26 1029100.00 985014.286  4.28%     -    0s
H    0     0                    994935.00000 985014.286  1.00%     -    0s
H    0     0                    990145.00000 985014.286  0.52%     -    0s
H    0     0                    989730.00000 985677.273  0.41%     -    0s
     0     0 985677.273    0   66 989730.000 985677.273  0.41%     -    0s
     0     0 985692.849    0   72 989730.000 985692.849  0.41%     -    0s
H    0     0                    988290.00000 985692.849  0.26%     -    0s
     0     0 985697.389    0   72 988290.000 985697.389  0.26%     -    0s
H    0     0                    988040.00000 985697.389  0.24%     -    0s
     0     2 985697.389    0   72 988040.000 985697.389  0.24%     -    0s
H   35    40                    986855.00000 986007.287  0.09%  16.7    0s
H   75    56                    986771.00000 986031.356  0.07%  13.3    0s

Cutting planes:
  MIR: 54

Explored 335 nodes (4215 simplex iterations) in 0.20 seconds (0.14 work units)
Thread count was 8 (of 8 available processors)

Solution count 10: 986771 986771 986855 ... 1.08699e+06

Optimal solution found (tolerance 1.00e-04)
Best objective 9.867710000000e+05, best bound 9.866744586729e+05, gap 0.0098%

6 Désagrégation¶

6.1 Individualisation des centrales¶

Variables de décision : Pour une type de centrale $X \in [A,B,C]$, $k$ l'identification de la $k$-ieme centrale, et une heure de la journée $t\in {1,\dots,24}$, on définit : $$ N_t^{(X,k)} \in\{0,1\} \text{La $k$-ieme centrale $X$ fonctionne à $t$} $$ $$ N_{start,t}^{(X,k)} \in\{0,1\} \text{La $k$-ieme centrale $X$ est démarrée à $t$} $$ $$ P_t^{(X,k)} = \text{Puissance de la $k$-ième centrale $X$ à l'instant $t$} $$ Contraintes : $$ N_t^{(X,k)} P_{min}^{(X)} \leq P_t^{(X,k)} \leq N_t^{(X,k)} P_{max}^{(X)} \text{ , (6.1.1) Contraintes sur la puissance totale de chaque centrale} $$ $$ N_t^{(X,k)} \leq N_{t-1}^{(X,k)}+N_{start,t}^{(X,k)} \text{ , (6.1.2) Contraintes sur la puissance totale de chaque centrale} $$ $$ \text{(6.1.3) Equilibre offre-demande : } \sum_X \sum_{k=1}^{N^{(X)}} P_t^{(X,k)} + \sum_{Y,n} H_t^{(Y,n)}P^{(Y,n)}-S_t= D_t $$ $$ \text{(6.1.4) Réserve de puissance : } \sum_X \sum_{k=1}^{N^{(X)}} N_t^{(X,k)}P_{max}^{(X)} + \sum_Y P^{(Y,n_{max})}\geq D_t\times 1,15 $$ Objectif : $$ \text{Minimiser} \sum_X \sum_{k=1}^{N^{(X)}} \sum_t (P_t^{(X,k)} - P_{min}^{(X)}N_t^{(X,k)}) C_{MWh}^{(X)} + N_t^{(X,k)}C_{base}^{(X)} + N_{start,t}^{(X,k)}C_{start}^{(X)} + \sum_{Y,n} \sum_t H_t^{(Y,n)}C_{base}^{(Y,n)} + \sum_Y H_{start,t}^{(Y)}C_{start}^{(Y)} $$

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 2137 rows, 2232 columns and 7152 nonzeros
Model fingerprint: 0x3a60e45c
Variable types: 672 continuous, 1560 integer (1560 binary)
Coefficient statistics:
  Matrix range     [3e-04, 6e+04]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 4e+04]
Presolve removed 24 rows and 0 columns
Presolve time: 0.01s
Presolved: 2113 rows, 2232 columns, 6984 nonzeros
Variable types: 672 continuous, 1560 integer (1560 binary)
Found heuristic solution: objective 1066070.0000
Found heuristic solution: objective 1049400.0000
Found heuristic solution: objective 1031950.0000

Root relaxation: objective 9.848205e+05, 1445 iterations, 0.01 seconds (0.01 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 984820.536    0   31 1031950.00 984820.536  4.57%     -    0s
H    0     0                    990145.00000 984820.536  0.54%     -    0s
H    0     0                    989980.00000 985527.783  0.45%     -    0s
     0     0 985527.783    0   75 989980.000 985527.783  0.45%     -    0s
H    0     0                    989730.00000 985527.783  0.42%     -    0s
     0     0 985527.783    0   75 989730.000 985527.783  0.42%     -    0s
     0     0 985550.204    0   98 989730.000 985550.204  0.42%     -    0s
     0     0 985550.204    0   98 989730.000 985550.204  0.42%     -    0s
H    0     0                    988837.00000 985550.204  0.33%     -    0s
     0     0 985680.000    0  100 988837.000 985680.000  0.32%     -    0s
     0     0 985680.000    0  105 988837.000 985680.000  0.32%     -    0s
H    0     0                    988217.00000 985680.000  0.26%     -    0s
     0     0 985680.000    0   94 988217.000 985680.000  0.26%     -    0s
     0     0 985680.000    0   73 988217.000 985680.000  0.26%     -    0s
     0     0 985680.000    0   73 988217.000 985680.000  0.26%     -    0s
     0     0 985680.000    0   73 988217.000 985680.000  0.26%     -    0s
     0     2 985680.000    0   73 988217.000 985680.000  0.26%     -    0s
H   71    76                    987962.00000 985990.728  0.20%  22.9    0s
H  168   157                    987850.00000 985990.728  0.19%  16.6    0s
H  210   206                    987390.00000 986017.559  0.14%  15.9    0s
H  347   236                    986818.00000 986017.559  0.08%  13.2    1s
 10174  1086 986623.835   40   19 986818.000 986623.835  0.02%   8.4    5s
H15465   639                    986771.00000 986657.979  0.01%   8.5    5s

Cutting planes:
  Lift-and-project: 5
  Cover: 2
  Projected implied bound: 7
  MIR: 22
  Flow cover: 9
  Inf proof: 1
  Relax-and-lift: 1

Explored 16562 nodes (141877 simplex iterations) in 6.11 seconds (6.30 work units)
Thread count was 8 (of 8 available processors)

Solution count 10: 986771 986818 987390 ... 990145

Optimal solution found (tolerance 1.00e-04)
Best objective 9.867710000000e+05, best bound 9.867148571429e+05, gap 0.0057%

6.3 Précision du profil de la demande¶

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 2137 rows, 2232 columns and 7152 nonzeros
Model fingerprint: 0x2d7f75ce
Variable types: 672 continuous, 1560 integer (1560 binary)
Coefficient statistics:
  Matrix range     [3e-04, 6e+04]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Presolve removed 24 rows and 0 columns
Presolve time: 0.01s
Presolved: 2113 rows, 2232 columns, 6984 nonzeros
Variable types: 672 continuous, 1560 integer (1560 binary)
Found heuristic solution: objective 1070205.0000
Found heuristic solution: objective 1068650.0000

Root relaxation: objective 9.865919e+05, 1422 iterations, 0.01 seconds (0.01 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 986591.867    0   57 1068650.00 986591.867  7.68%     -    0s
H    0     0                    1001855.0000 986591.867  1.52%     -    0s
H    0     0                    999480.00000 986591.867  1.29%     -    0s
H    0     0                    992900.00000 986591.867  0.64%     -    0s
     0     0 986628.571    0  100 992900.000 986628.571  0.63%     -    0s
     0     0 986659.053    0   93 992900.000 986659.053  0.63%     -    0s
     0     0 986748.434    0   91 992900.000 986748.434  0.62%     -    0s
     0     0 986757.183    0  100 992900.000 986757.183  0.62%     -    0s
     0     0 986757.183    0  109 992900.000 986757.183  0.62%     -    0s
H    0     0                    990449.00000 986757.183  0.37%     -    0s
     0     0 986805.247    0  102 990449.000 986805.247  0.37%     -    0s
     0     0 986822.410    0   79 990449.000 986822.410  0.37%     -    0s
     0     0 986824.328    0   89 990449.000 986824.328  0.37%     -    0s
H    0     0                    989002.00000 986824.328  0.22%     -    0s
     0     0 986824.328    0  114 989002.000 986824.328  0.22%     -    0s
H    0     0                    988370.00000 986824.328  0.16%     -    0s
     0     0 986828.816    0  128 988370.000 986828.816  0.16%     -    0s
     0     0 986828.816    0   58 988370.000 986828.816  0.16%     -    0s
     0     0 986828.816    0  124 988370.000 986828.816  0.16%     -    0s
     0     0 986828.816    0  130 988370.000 986828.816  0.16%     -    0s
     0     0 986828.816    0  123 988370.000 986828.816  0.16%     -    0s
     0     0 986828.816    0  126 988370.000 986828.816  0.16%     -    0s
     0     0 986860.182    0  180 988370.000 986860.182  0.15%     -    0s
     0     0 986882.215    0  171 988370.000 986882.215  0.15%     -    0s
     0     0 986882.300    0  133 988370.000 986882.300  0.15%     -    0s
     0     0 986909.848    0  181 988370.000 986909.848  0.15%     -    0s
     0     0 986910.326    0  135 988370.000 986910.326  0.15%     -    0s
     0     2 986910.326    0   93 988370.000 986910.326  0.15%     -    0s
H   33    39                    988150.00000 987203.586  0.10%  29.2    0s
H  116   119                    988115.00000 987203.586  0.09%  16.0    0s
H  172   151                    987865.00000 987222.801  0.07%  13.8    0s
H  246   205                    987762.00000 987222.801  0.05%  13.0    0s
H  479   247                    987641.00000 987310.213  0.03%  10.7    1s
*  697   343              36    987631.00000 987310.416  0.03%   9.5    1s
H 1951   815                    987620.00000 987316.696  0.03%   8.3    1s
H 2410   996                    987615.00000 987319.309  0.03%   8.0    1s
 16862  5776     cutoff   62      987615.000 987480.331  0.01%   7.6    5s
 30040 10674 987611.429   54  133 987615.000 987485.387  0.01%   7.0   10s

Cutting planes:
  Gomory: 1
  Cover: 1
  MIR: 9
  StrongCG: 1
  Flow cover: 8

Explored 30099 nodes (217021 simplex iterations) in 12.20 seconds (7.82 work units)
Thread count was 8 (of 8 available processors)

Solution count 10: 987615 987615 987615 ... 987641

Optimal solution found (tolerance 1.00e-04)
Best objective 9.876150000000e+05, best bound 9.875226039275e+05, gap 0.0094%

6.4 Discrétisation à un pas de deux heures¶

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 2137 rows, 2232 columns and 7152 nonzeros
Model fingerprint: 0x11a09cba
Variable types: 672 continuous, 1560 integer (1560 binary)
Coefficient statistics:
  Matrix range     [3e-04, 6e+04]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 4e+04]
Presolve removed 24 rows and 0 columns
Presolve time: 0.01s
Presolved: 2113 rows, 2232 columns, 6984 nonzeros
Variable types: 672 continuous, 1560 integer (1560 binary)
Found heuristic solution: objective 1065810.0000
Found heuristic solution: objective 1049600.0000

Root relaxation: objective 9.892817e+05, 1484 iterations, 0.01 seconds (0.02 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 989281.715    0   54 1049600.00 989281.715  5.75%     -    0s
H    0     0                    1008655.0000 989281.715  1.92%     -    0s
H    0     0                    1003320.0000 989281.715  1.40%     -    0s
H    0     0                    991750.00000 989281.715  0.25%     -    0s
     0     0 989568.409    0   49 991750.000 989568.409  0.22%     -    0s
     0     0 989568.409    0   49 991750.000 989568.409  0.22%     -    0s
H    0     0                    990860.00000 989568.409  0.13%     -    0s
     0     0 989583.635    0   54 990860.000 989583.635  0.13%     -    0s
     0     0 989583.635    0   54 990860.000 989583.635  0.13%     -    0s
H    0     0                    990500.00000 989583.635  0.09%     -    0s
     0     0 989583.635    0   60 990500.000 989583.635  0.09%     -    0s
     0     0 989594.782    0   68 990500.000 989594.782  0.09%     -    0s
     0     0 989609.740    0   79 990500.000 989609.740  0.09%     -    0s
     0     0 989609.978    0   81 990500.000 989609.978  0.09%     -    0s
     0     0 989733.996    0   86 990500.000 989733.996  0.08%     -    0s
     0     0 989733.996    0   60 990500.000 989733.996  0.08%     -    0s
     0     0 989734.282    0   92 990500.000 989734.282  0.08%     -    0s
     0     0 989734.807    0   95 990500.000 989734.807  0.08%     -    0s
     0     0 989734.807    0   95 990500.000 989734.807  0.08%     -    0s
     0     0 989734.807    0  101 990500.000 989734.807  0.08%     -    0s
     0     0 989734.807    0   93 990500.000 989734.807  0.08%     -    0s
H    0     0                    990440.00000 989734.807  0.07%     -    0s
     0     0 989734.807    0   42 990440.000 989734.807  0.07%     -    0s
     0     0 989734.807    0   47 990440.000 989734.807  0.07%     -    0s
     0     0 989757.223    0   43 990440.000 989757.223  0.07%     -    0s
     0     0 989757.714    0   56 990440.000 989757.714  0.07%     -    0s
     0     0 989757.714    0   76 990440.000 989757.714  0.07%     -    0s
     0     0 989757.987    0   75 990440.000 989757.987  0.07%     -    0s
     0     0 989758.118    0   75 990440.000 989758.118  0.07%     -    0s
     0     0 989758.118    0   89 990440.000 989758.118  0.07%     -    0s
     0     0 989758.118    0   89 990440.000 989758.118  0.07%     -    0s
     0     0 989763.110    0   49 990440.000 989763.110  0.07%     -    0s
     0     0 989763.199    0   41 990440.000 989763.199  0.07%     -    0s
     0     0 989778.249    0   41 990440.000 989778.249  0.07%     -    0s
     0     0 989897.866    0   28 990440.000 989897.866  0.05%     -    0s
     0     0 989897.866    0   28 990440.000 989897.866  0.05%     -    0s
     0     2 989897.866    0   28 990440.000 989897.866  0.05%     -    0s
*  434   281              46    990430.00000 990122.540  0.03%   5.3    1s
H  979   626                    990420.00000 990122.540  0.03%   5.3    1s
H 1701   719                    990410.00000 990122.540  0.03%   6.1    2s

Cutting planes:
  Gomory: 9
  Lift-and-project: 1
  MIR: 79
  Flow cover: 53
  RLT: 2

Explored 26619 nodes (185253 simplex iterations) in 4.99 seconds (3.82 work units)
Thread count was 8 (of 8 available processors)

Solution count 10: 990410 990420 990430 ... 991750

Optimal solution found (tolerance 1.00e-04)
Best objective 9.904100000000e+05, best bound 9.903183333333e+05, gap 0.0093%

7 Disponibilité variable¶

7.1 Maintenance nocturne des centrales A¶

On ajoute la contrainte : $$ \forall t \in \{0,\dots,6\}\cup\{18,\dots,23\},\sum_{k=1}^{N^{(A)}}N_t^{(A,k)} \leq 10 $$

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 2150 rows, 2232 columns and 7308 nonzeros
Model fingerprint: 0xd000b483
Variable types: 672 continuous, 1560 integer (1560 binary)
Coefficient statistics:
  Matrix range     [3e-04, 6e+04]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 4e+04]
Presolve removed 24 rows and 0 columns
Presolve time: 0.01s
Presolved: 2126 rows, 2232 columns, 7140 nonzeros
Variable types: 672 continuous, 1560 integer (1560 binary)
Found heuristic solution: objective 1047065.0000
Found heuristic solution: objective 1045750.0000

Root relaxation: objective 1.003420e+06, 1703 iterations, 0.03 seconds (0.02 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 1003419.59    0   51 1045750.00 1003419.59  4.05%     -    0s
H    0     0                    1025155.0000 1003419.59  2.12%     -    0s
H    0     0                    1012530.0000 1003419.59  0.90%     -    0s
     0     0 1003700.84    0   91 1012530.00 1003700.84  0.87%     -    0s
H    0     0                    1011550.0000 1003700.84  0.78%     -    0s
H    0     0                    1011486.0000 1003700.84  0.77%     -    0s
     0     0 1003702.54    0  113 1011486.00 1003702.54  0.77%     -    0s
     0     0 1003702.54    0  120 1011486.00 1003702.54  0.77%     -    0s
     0     0 1003815.55    0   87 1011486.00 1003815.55  0.76%     -    0s
     0     0 1003906.43    0   59 1011486.00 1003906.43  0.75%     -    0s
H    0     0                    1008770.0000 1003906.43  0.48%     -    0s
     0     0 1004239.12    0  121 1008770.00 1004239.12  0.45%     -    0s
     0     0 1004239.12    0  122 1008770.00 1004239.12  0.45%     -    0s
     0     0 1004289.66    0   95 1008770.00 1004289.66  0.44%     -    0s
     0     0 1004289.66    0  111 1008770.00 1004289.66  0.44%     -    0s
     0     0 1004289.66    0   88 1008770.00 1004289.66  0.44%     -    0s
     0     0 1004289.66    0   99 1008770.00 1004289.66  0.44%     -    0s
     0     0 1004289.66    0   72 1008770.00 1004289.66  0.44%     -    0s
     0     0 1004289.66    0  107 1008770.00 1004289.66  0.44%     -    0s
     0     0 1004289.66    0   96 1008770.00 1004289.66  0.44%     -    0s
     0     0 1004289.66    0   75 1008770.00 1004289.66  0.44%     -    0s
H    0     0                    1006700.0000 1004289.66  0.24%     -    0s
     0     2 1004289.66    0   75 1006700.00 1004289.66  0.24%     -    0s
H   71    77                    1006622.0000 1004528.51  0.21%  15.2    0s
H  112   121                    1006305.0000 1004528.51  0.18%  12.6    1s
H  170   166                    1005559.0000 1004528.51  0.10%  10.8    1s
H  293   290                    1005405.0000 1004539.36  0.09%   9.2    1s
*  939   571              38    1005395.0000 1004565.24  0.08%   8.8    1s
H 1196   607                    1005350.0000 1004761.71  0.06%   5.0    4s
* 1313   608              45    1005300.0000 1004767.86  0.05%   5.2    4s
  3561   974     cutoff   42      1005300.00 1004778.48  0.05%   6.4    5s
 24140  4806 1005176.01   40   53 1005300.00 1005008.17  0.03%   8.1   10s

Cutting planes:
  Gomory: 44
  MIR: 30
  Flow cover: 23

Explored 37663 nodes (321687 simplex iterations) in 12.96 seconds (10.68 work units)
Thread count was 8 (of 8 available processors)

Solution count 10: 1.0053e+06 1.0053e+06 1.00535e+06 ... 1.00877e+06

Optimal solution found (tolerance 1.00e-04)
Best objective 1.005300000000e+06, best bound 1.005225032424e+06, gap 0.0075%

8 Contraintes de rampe¶

$N_t$ $N_{t-1}$ $N_t-N_{t-1}$ $N_{start,t}$ $N_t-N_{t-1}-N_{start,t}$ Signification
1 1 0 0 0 La centrale fonctionne deux heures consécutives
1 0 1 1 0 la centrale s'allume à l'instant $t$
0 1 -1 0 -1 la centrale s'éteint à l'instant $t$
0 0 0 0 0 La centrale est éteinte deux heures consécutives

8.1 Rampe croissante¶

$$ \forall t, \forall X , \forall k \in \{0,\dots,N^{(X)}\}, P_{t}^{(X,k)}-P_{t-1}^{(X,k)}\leq R_{montée}^{(X)} $$
Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 2785 rows, 2232 columns and 8448 nonzeros
Model fingerprint: 0x460e9919
Variable types: 672 continuous, 1560 integer (1560 binary)
Coefficient statistics:
  Matrix range     [3e-04, 6e+04]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 4e+04]
Presolve removed 695 rows and 1269 columns
Presolve time: 0.02s
Presolved: 2090 rows, 963 columns, 6363 nonzeros
Variable types: 672 continuous, 291 integer (291 binary)

Root relaxation: objective 1.011158e+06, 1035 iterations, 0.01 seconds (0.01 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 1011158.36    0   42          - 1011158.36      -     -    0s
H    0     0                    1024447.0000 1011158.36  1.30%     -    0s
     0     0 1011766.70    0   37 1024447.00 1011766.70  1.24%     -    0s
     0     0 1012487.81    0   17 1024447.00 1012487.81  1.17%     -    0s
     0     0 1012487.81    0   17 1024447.00 1012487.81  1.17%     -    0s
H    0     0                    1019980.0000 1012487.81  0.73%     -    0s
     0     0 1012528.31    0   18 1019980.00 1012528.31  0.73%     -    0s
     0     0 1012528.31    0   18 1019980.00 1012528.31  0.73%     -    0s
     0     0 1012528.31    0   19 1019980.00 1012528.31  0.73%     -    0s
     0     0 1012637.32    0   18 1019980.00 1012637.32  0.72%     -    0s
     0     0 1012637.32    0   19 1019980.00 1012637.32  0.72%     -    0s
     0     0 1012637.32    0   17 1019980.00 1012637.32  0.72%     -    0s
H    0     0                    1017238.0000 1012637.32  0.45%     -    0s
     0     0 1012637.32    0   19 1017238.00 1012637.32  0.45%     -    0s
     0     0 1012637.32    0   17 1017238.00 1012637.32  0.45%     -    0s
     0     0 1012637.32    0   18 1017238.00 1012637.32  0.45%     -    0s
     0     0 1012637.32    0   18 1017238.00 1012637.32  0.45%     -    0s
     0     0 1012637.32    0   20 1017238.00 1012637.32  0.45%     -    0s
     0     0 1012637.32    0   20 1017238.00 1012637.32  0.45%     -    0s
     0     0 1012637.32    0   17 1017238.00 1012637.32  0.45%     -    0s
     0     2 1012637.32    0   17 1017238.00 1012637.32  0.45%     -    0s
H    3     4                    1016994.0000 1012637.32  0.43%   9.3    0s
H   27     3                    1016430.0000 1015144.08  0.13%  16.1    0s

Cutting planes:
  Gomory: 3
  MIR: 17
  Flow cover: 3
  RLT: 7

Explored 49 nodes (2034 simplex iterations) in 0.53 seconds (0.27 work units)
Thread count was 8 (of 8 available processors)

Solution count 6: 1.01643e+06 1.01643e+06 1.01699e+06 ... 1.02445e+06

Optimal solution found (tolerance 1.00e-04)
Best objective 1.016430000000e+06, best bound 1.016409639706e+06, gap 0.0020%

8.2 Rampe démarrage¶

Si la centrale démarre alors on autorise une rampe plus grande. $$ (8.2), P_{t}^{(X,k)}-P_{t-1}^{(X,k)}\leq R_{montée}^{(X)} + N_{start,t}{(X,k)}(R_{démarrage}^{(X)}-R_{montée}^{(X)}) $$

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 2785 rows, 2232 columns and 9096 nonzeros
Model fingerprint: 0xe2bdd0ee
Variable types: 672 continuous, 1560 integer (1560 binary)
Coefficient statistics:
  Matrix range     [3e-04, 6e+04]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 4e+04]
Presolve removed 24 rows and 0 columns
Presolve time: 0.02s
Presolved: 2761 rows, 2232 columns, 9576 nonzeros
Variable types: 672 continuous, 1560 integer (1560 binary)
Found heuristic solution: objective 1143740.0000

Root relaxation: objective 9.865633e+05, 1541 iterations, 0.02 seconds (0.02 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 986563.290    0  133 1143740.00 986563.290  13.7%     -    0s
H    0     0                    1052540.0000 986563.290  6.27%     -    0s
H    0     0                    999785.00000 986563.290  1.32%     -    0s
H    0     0                    994685.00000 987113.421  0.76%     -    0s
     0     0 987113.421    0  126 994685.000 987113.421  0.76%     -    0s
     0     0 987306.646    0  120 994685.000 987306.646  0.74%     -    0s
     0     0 987886.769    0  121 994685.000 987886.769  0.68%     -    0s
     0     0 987887.226    0  122 994685.000 987887.226  0.68%     -    0s
     0     0 988302.092    0  135 994685.000 988302.092  0.64%     -    0s
     0     0 988304.690    0  140 994685.000 988304.690  0.64%     -    0s
     0     0 988309.044    0  152 994685.000 988309.044  0.64%     -    0s
     0     0 988309.044    0  152 994685.000 988309.044  0.64%     -    0s
     0     0 988336.401    0  113 994685.000 988336.401  0.64%     -    0s
     0     0 988343.477    0  123 994685.000 988343.477  0.64%     -    0s
     0     0 988345.222    0  123 994685.000 988345.222  0.64%     -    0s
     0     0 988351.317    0  124 994685.000 988351.317  0.64%     -    0s
H    0     0                    994500.00000 988355.092  0.62%     -    0s
     0     0 988355.092    0  135 994500.000 988355.092  0.62%     -    0s
H    0     0                    992340.00000 988355.092  0.40%     -    0s
H    0     0                    992270.00000 988355.092  0.39%     -    0s
     0     0 988361.795    0  111 992270.000 988361.795  0.39%     -    0s
     0     0 988361.907    0  112 992270.000 988361.907  0.39%     -    0s
     0     0 988374.433    0  125 992270.000 988374.433  0.39%     -    0s
     0     0 988374.740    0  120 992270.000 988374.740  0.39%     -    0s
     0     0 988375.536    0  142 992270.000 988375.536  0.39%     -    0s
     0     0 988375.800    0  146 992270.000 988375.800  0.39%     -    0s
     0     0 988375.905    0  146 992270.000 988375.905  0.39%     -    0s
     0     0 988375.905    0   94 992270.000 988375.905  0.39%     -    0s
     0     2 988375.905    0   94 992270.000 988375.905  0.39%     -    0s
H   31    40                    990915.00000 988639.353  0.23%  55.5    0s
H   33    40                    989677.00000 988639.353  0.10%  52.5    0s
H   77    56                    989585.00000 988749.821  0.08%  31.4    0s
H  167   136                    989428.41463 988749.821  0.07%  19.3    1s
H  416   341                    989425.00000 988899.005  0.05%  12.4    1s
H 1174   597                    989350.00000 988930.500  0.04%  12.4    3s
  2185   724 infeasible   56      989350.000 989074.814  0.03%  11.5    5s
 16213  4019 989349.280   70    7 989350.000 989246.302  0.01%   8.0   10s

Cutting planes:
  Gomory: 25
  Implied bound: 30
  MIR: 57
  StrongCG: 1
  Flow cover: 41
  RLT: 5
  Relax-and-lift: 7

Explored 18263 nodes (151362 simplex iterations) in 10.56 seconds (7.70 work units)
Thread count was 8 (of 8 available processors)

Solution count 10: 989350 989425 989428 ... 999785

Optimal solution found (tolerance 1.00e-04)
Best objective 9.893500000000e+05, best bound 9.892535739926e+05, gap 0.0097%

8.3 Rampe décroissante et d'arrêt¶

$$ (8.3), P_{t}^{(X,k)}-P_{t-1}^{(X,k)}\geq - R^{(X)}_{descente} + (N_t^{(X,k)}-N_{t-1}^{(X,k)}-N_{start,t}^{(X,k)})(R_{stop}^{(X)}-R_{descendante}^{(X)}) $$
Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 3433 rows, 2232 columns and 11688 nonzeros
Model fingerprint: 0x7cfd5517
Variable types: 672 continuous, 1560 integer (1560 binary)
Coefficient statistics:
  Matrix range     [3e-04, 6e+04]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 4e+04]
Presolve removed 24 rows and 0 columns
Presolve time: 0.02s
Presolved: 3409 rows, 2232 columns, 12168 nonzeros
Variable types: 672 continuous, 1560 integer (1560 binary)
Found heuristic solution: objective 1179585.0000

Root relaxation: objective 9.870197e+05, 1846 iterations, 0.03 seconds (0.03 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 987019.698    0  136 1179585.00 987019.698  16.3%     -    0s
H    0     0                    1043335.0000 987019.698  5.40%     -    0s
H    0     0                    998330.00000 987019.698  1.13%     -    0s
H    0     0                    993910.00000 987019.698  0.69%     -    0s
     0     0 987511.972    0  148 993910.000 987511.972  0.64%     -    0s
     0     0 987547.166    0  149 993910.000 987547.166  0.64%     -    0s
     0     0 988753.264    0  179 993910.000 988753.264  0.52%     -    0s
H    0     0                    993735.00000 988753.264  0.50%     -    0s
     0     0 988753.837    0  166 993735.000 988753.837  0.50%     -    0s
H    0     0                    993610.00000 988753.837  0.49%     -    0s
     0     0 989130.923    0  161 993610.000 989130.923  0.45%     -    0s
     0     0 989192.131    0  159 993610.000 989192.131  0.44%     -    0s
     0     0 989192.254    0  176 993610.000 989192.254  0.44%     -    0s
     0     0 989300.395    0  110 993610.000 989300.395  0.43%     -    0s
     0     0 989303.059    0  135 993610.000 989303.059  0.43%     -    0s
     0     0 989304.095    0  131 993610.000 989304.095  0.43%     -    0s
     0     0 989304.095    0  142 993610.000 989304.095  0.43%     -    0s
     0     0 989305.304    0  158 993610.000 989305.304  0.43%     -    0s
     0     0 989305.304    0  159 993610.000 989305.304  0.43%     -    0s
     0     0 989306.359    0  192 993610.000 989306.359  0.43%     -    0s
     0     0 989306.359    0  149 993610.000 989306.359  0.43%     -    0s
     0     2 989306.359    0  126 993610.000 989306.359  0.43%     -    0s
H   78    74                    990948.00000 989835.717  0.11%  34.6    1s
H  169   148                    990935.00000 989835.717  0.11%  25.0    1s
*  311   232              63    990915.00000 989835.717  0.11%  20.5    1s
  1406   706     cutoff   23      990915.000 990039.934  0.09%  21.5    5s
H 1866   767                    990870.00000 990039.934  0.08%  20.9    6s
* 7187  3575              77    990865.00000 990267.120  0.06%  16.0    8s
  9433  5168 990704.032   64   14 990865.000 990279.323  0.06%  15.5   10s
*12001  6476              75    990860.00000 990292.232  0.06%  15.5   11s
H14446  6401                    990815.00000 990299.913  0.05%  15.8   12s
 14474  6418 990341.946   26   43 990815.000 990299.913  0.05%  16.0   15s
H14687  6137                    990805.00000 990299.913  0.05%  16.1   16s
 23593  8705     cutoff   71      990805.000 990384.938  0.04%  15.4   20s
 33190 10204 990792.699   79   49 990805.000 990411.485  0.04%  15.5   25s
 44436 15055     cutoff   54      990805.000 990433.200  0.04%  15.4   36s
H46813 14752                    990780.00000 990436.783  0.03%  15.4   37s
 52174 16749 990676.457   57   99 990780.000 990444.650  0.03%  15.6   40s
 61827 19680 990594.126   60   43 990780.000 990461.111  0.03%  15.9   45s
 71587 22182     cutoff   52      990780.000 990475.384  0.03%  16.0   50s
 79962 24156 990585.926   56   15 990780.000 990488.219  0.03%  16.1   55s
 89908 26143 990748.442   62   62 990780.000 990502.353  0.03%  16.3   60s
 98157 27567 990736.227   65   66 990780.000 990513.075  0.03%  16.3   65s
 106638 28799     cutoff   57      990780.000 990522.795  0.03%  16.3   70s
 116161 30088 990772.261   57   27 990780.000 990532.185  0.03%  16.3   75s
 126851 30824     cutoff   59      990780.000 990542.614  0.02%  16.3   80s
 138095 31552 990768.885   62   56 990780.000 990551.026  0.02%  16.3   85s
 148720 31934     cutoff   54      990780.000 990560.462  0.02%  16.3   90s
 161061 31863     cutoff   60      990780.000 990570.756  0.02%  16.2   95s
 172015 31603     cutoff   51      990780.000 990581.090  0.02%  16.2  100s
 183708 31261     cutoff   56      990780.000 990591.853  0.02%  16.1  105s
 196225 30377 990666.863   61   81 990780.000 990604.258  0.02%  16.0  110s
 206360 30330 990655.654   61   23 990780.000 990611.544  0.02%  15.9  115s
 218079 29567     cutoff   61      990780.000 990624.485  0.02%  15.8  120s
 230692 28964 990730.856   58   86 990780.000 990638.115  0.01%  15.7  125s
 244695 28429 990654.245   63   20 990780.000 990653.874  0.01%  15.5  130s
 255977 28532 990697.745   58   18 990780.000 990661.512  0.01%  15.4  135s
 269013 28953 990738.571   61    4 990780.000 990671.249  0.01%  15.3  140s
 281508 29021     cutoff   56      990780.000 990680.419  0.01%  15.1  145s

Cutting planes:
  Gomory: 15
  Implied bound: 82
  Projected implied bound: 6
  MIR: 289
  StrongCG: 6
  Flow cover: 71
  RLT: 3
  Relax-and-lift: 4

Explored 282970 nodes (4283677 simplex iterations) in 145.53 seconds (165.09 work units)
Thread count was 8 (of 8 available processors)

Solution count 10: 990780 990780 990805 ... 990948

Optimal solution found (tolerance 1.00e-04)
Best objective 9.907800000000e+05, best bound 9.906816144175e+05, gap 0.0099%

Alt text


9 Prévention de l'usure¶

9.1 Durée minimale d'activitée¶

On a la table suivante : |$N_t$|$N_{t-1}$|$N_t-N_{t-1}$|$N_{start,t}$|$N_t-N_{t-1}-N_{start,t}$|Signification| |---|---|---|---|---|---| |1|1|0|0|0|La centrale fonctionne deux heures consécutives| |1|0|1|1|0|la centrale s'allume à l'instant $t$| |0|1|-1|0|-1|la centrale s'éteint à l'instant $t$| |0|0|0|0|0|La centrale est éteinte deux heures consécutives| $$ \forall t,\forall t' \in \{1,\dots,8\}, \forall k, N_{start,t}^{(X,k)}\leq N_{t+t'}^{(X,k)} , \text{La centrale fonctionne au moins 8 heures après le démarrage} $$

Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 7105 rows, 2232 columns and 17088 nonzeros
Model fingerprint: 0xfb554425
Variable types: 672 continuous, 1560 integer (1560 binary)
Coefficient statistics:
  Matrix range     [3e-04, 6e+04]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 4e+04]
Presolve removed 645 rows and 0 columns
Presolve time: 0.04s
Presolved: 6460 rows, 2232 columns, 15678 nonzeros
Variable types: 672 continuous, 1560 integer (1560 binary)
Found heuristic solution: objective 1028375.0000

Root relaxation: objective 9.851845e+05, 1596 iterations, 0.03 seconds (0.04 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 985184.550    0   63 1028375.00 985184.550  4.20%     -    0s
H    0     0                    990215.00000 985184.550  0.51%     -    0s
H    0     0                    989865.00000 985184.550  0.47%     -    0s
H    0     0                    989790.00000 985761.648  0.41%     -    0s
     0     0 985761.648    0  110 989790.000 985761.648  0.41%     -    0s
     0     0 985872.918    0   77 989790.000 985872.918  0.40%     -    0s
     0     0 986085.714    0   49 989790.000 986085.714  0.37%     -    0s
     0     0 986150.000    0   62 989790.000 986150.000  0.37%     -    0s
     0     0 986449.728    0   61 989790.000 986449.728  0.34%     -    0s
     0     0 986528.505    0   65 989790.000 986528.505  0.33%     -    0s
     0     0 986528.505    0   65 989790.000 986528.505  0.33%     -    0s
     0     0 986528.505    0   65 989790.000 986528.505  0.33%     -    0s
     0     0 986528.505    0   63 989790.000 986528.505  0.33%     -    0s
H    0     0                    989615.00000 986528.505  0.31%     -    0s
     0     2 986528.505    0   63 989615.000 986528.505  0.31%     -    0s
H  107   104                    989283.00000 986564.240  0.27%  21.7    0s
H  115   104                    988945.00000 986564.240  0.24%  21.0    0s
H  150   141                    988490.00000 986564.240  0.19%  19.6    0s
H  204   151                    987855.00000 986566.871  0.13%  18.0    1s
H  961   351                    987777.00000 986839.834  0.09%  13.7    1s
H 1177   446                    987719.00000 986862.410  0.09%  13.0    1s
  3236   940 987649.879   28   10 987719.000 987122.302  0.06%  12.8    5s

Cutting planes:
  Gomory: 1
  Implied bound: 1
  Projected implied bound: 6
  Clique: 6
  MIR: 18
  StrongCG: 3
  Flow cover: 20
  Zero half: 1
  Relax-and-lift: 4

Explored 7237 nodes (77546 simplex iterations) in 6.25 seconds (5.85 work units)
Thread count was 8 (of 8 available processors)

Solution count 10: 987719 987777 987855 ... 990215

Optimal solution found (tolerance 1.00e-04)
Best objective 9.877190000000e+05, best bound 9.876657333333e+05, gap 0.0054%

9.2 Durée minimale d'arrêt¶

$$ \forall t,\forall t' \in \{1,\dots,8\}, \forall k, 1 - (N_{start,t}^{(X,k)}+N_{t-1}^{(X,k)}-N_{t}^{(X,k)})\geq N_{t+t'}^{(X,k)}, \text{La centrale est éteinte pendant 8 heures après arrêts} $$
Gurobi Optimizer version 9.5.2 build v9.5.2rc0 (win64)
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 11321 rows, 2232 columns and 33556 nonzeros
Model fingerprint: 0xbd76973d
Variable types: 672 continuous, 1560 integer (1560 binary)
Coefficient statistics:
  Matrix range     [3e-04, 6e+04]
  Objective range  [1e+00, 2e+03]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 4e+04]
Presolve removed 3926 rows and 0 columns
Presolve time: 0.13s
Presolved: 7395 rows, 2232 columns, 32998 nonzeros
Variable types: 672 continuous, 1560 integer (1560 binary)
Found heuristic solution: objective 1291446.0000
Found heuristic solution: objective 1121845.0000
Found heuristic solution: objective 1005080.0000

Root relaxation: objective 9.859333e+05, 1924 iterations, 0.04 seconds (0.04 work units)

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0 985933.334    0   52 1005080.00 985933.334  1.90%     -    0s
H    0     0                    999470.00000 985933.334  1.35%     -    0s
     0     0 986537.818    0  131 999470.000 986537.818  1.29%     -    0s
     0     0 986578.142    0  125 999470.000 986578.142  1.29%     -    0s
H    0     0                    992540.00000 986578.142  0.60%     -    0s
     0     0 986806.992    0  115 992540.000 986806.992  0.58%     -    0s
     0     0 986806.992    0  127 992540.000 986806.992  0.58%     -    0s
     0     0 986893.560    0  185 992540.000 986893.560  0.57%     -    0s
     0     0 987023.402    0  171 992540.000 987023.402  0.56%     -    0s
     0     0 987029.760    0  179 992540.000 987029.760  0.56%     -    0s
     0     0 987034.496    0  212 992540.000 987034.496  0.55%     -    0s
H    0     0                    991037.00000 987098.675  0.40%     -    0s
     0     0 987098.675    0  192 991037.000 987098.675  0.40%     -    0s
     0     0 987141.967    0  130 991037.000 987141.967  0.39%     -    0s
     0     0 987141.967    0  133 991037.000 987141.967  0.39%     -    0s
     0     0 987329.470    0  155 991037.000 987329.470  0.37%     -    0s
     0     0 987332.695    0  208 991037.000 987332.695  0.37%     -    0s
     0     0 987342.806    0  184 991037.000 987342.806  0.37%     -    1s
     0     0 987344.080    0  209 991037.000 987344.080  0.37%     -    1s
     0     0 987345.432    0  217 991037.000 987345.432  0.37%     -    1s
     0     0 987372.112    0  196 991037.000 987372.112  0.37%     -    1s
     0     0 987383.806    0  226 991037.000 987383.806  0.37%     -    1s
     0     0 987385.942    0  221 991037.000 987385.942  0.37%     -    1s
     0     0 987386.382    0  227 991037.000 987386.382  0.37%     -    1s
     0     0 987386.654    0  213 991037.000 987386.654  0.37%     -    1s
     0     0 987407.915    0  231 991037.000 987407.915  0.37%     -    1s
     0     0 987411.926    0  231 991037.000 987411.926  0.37%     -    1s
     0     0 987415.396    0  195 991037.000 987415.396  0.37%     -    1s
     0     0 987415.396    0  185 991037.000 987415.396  0.37%     -    1s
     0     0 987453.956    0  211 991037.000 987453.956  0.36%     -    1s
     0     0 987453.956    0  217 991037.000 987453.956  0.36%     -    1s
     0     0 987456.190    0  212 991037.000 987456.190  0.36%     -    1s
     0     0 987456.190    0  217 991037.000 987456.190  0.36%     -    1s
     0     0 987460.875    0  233 991037.000 987460.875  0.36%     -    1s
     0     0 987461.142    0  172 991037.000 987461.142  0.36%     -    1s
     0     0 987461.228    0  186 991037.000 987461.228  0.36%     -    1s
     0     0 987467.132    0  195 991037.000 987467.132  0.36%     -    1s
     0     0 987467.232    0  192 991037.000 987467.232  0.36%     -    1s
     0     0 987478.868    0  157 991037.000 987478.868  0.36%     -    1s
     0     0 987478.868    0  172 991037.000 987478.868  0.36%     -    1s
     0     0 987479.993    0  179 991037.000 987479.993  0.36%     -    1s
     0     0 987480.568    0  162 991037.000 987480.568  0.36%     -    1s
     0     0 987480.568    0  154 991037.000 987480.568  0.36%     -    1s
     0     0 987481.390    0  173 991037.000 987481.390  0.36%     -    1s
     0     0 987481.390    0  173 991037.000 987481.390  0.36%     -    1s
H    0     0                    990865.00000 987481.390  0.34%     -    2s
H    0     0                    990605.00000 987481.390  0.32%     -    2s
     0     2 987481.390    0  173 990605.000 987481.390  0.32%     -    2s
H  135   109                    989610.00000 987730.327  0.19%   104    3s
H  137   109                    989100.00000 987730.327  0.14%   102    3s
H  174   119                    989090.00000 987733.265  0.14%  89.0    3s
H  193   123                    989085.00000 987733.265  0.14%  82.4    3s
H  227   132                    989052.00000 987733.265  0.13%  76.4    3s
   830   401 988604.427   27   64 989052.000 987765.437  0.13%  45.4    5s
H 1151   541                    989005.00000 987768.630  0.13%  39.2    7s
  1170   556 987768.630   13  229 989005.000 987768.630  0.13%  42.4   10s
H 1305   580                    988753.00000 988072.404  0.07%  41.9   10s
  5132  1125 988445.929   38   39 988753.000 988443.992  0.03%  27.5   15s
  9407  1247     cutoff   45      988753.000 988516.114  0.02%  25.5   20s

Cutting planes:
  Gomory: 3
  Implied bound: 1
  Clique: 1
  MIR: 171
  Flow cover: 53
  Zero half: 11
  RLT: 1

Explored 12900 nodes (312643 simplex iterations) in 22.31 seconds (22.78 work units)
Thread count was 8 (of 8 available processors)

Solution count 10: 988753 989005 989052 ... 991037

Optimal solution found (tolerance 1.00e-04)
Best objective 9.887530000000e+05, best bound 9.886580344989e+05, gap 0.0096%